BASS 2.0 - Copyright (c) 1999-2003 Ian Luck. All rights reserved.

Files that you should have found in the BASS "package"
======================================================
BASS.TXT      This file
BASS.DLL      The BASS module
BASS.CHM      BASS documentation
FILE_ID.DIZ   BBS description file
C\            C/C++ API and samples...
  BASS.H        BASS C/C++ header file
  BASS.LIB      BASS import library
  BASSTEST.EXE  BASS example program
  BASSTEST.C    Example program source-code
  BASSTEST.RC   Example program resource file
  BASSTEST.H    Example program resource header file
  CONTEST.EXE   BASS console example program
  CONTEST.C     Console example program source-code
  3DTEST.EXE    BASS 3D/EAX example program
  3DTEST.C      3D example program source-code
  3DTEST.RC     3D example program resource file
  3DTEST.H      3D example program resource header file
  ENGINE.WAV    3D example program test WAVE sample
  LOADNGET.C    LoadLibrary/GetProcAddress example source-code
  LOADNGET.RC   LoadLibrary/GetProcAddress example resource file
  DSPTEST.EXE   DSP example program
  DSPTEST.C     DSP example program source-code
  DSPTEST.RC    DSP example program resource file
  MULTI.EXE     Multiple device example program
  MULTI.C       Multiple device example program source-code
  MULTI.RC      Multiple device example program resource file
  FXTEST.EXE    DX8 effect example program
  FXTEST.C      DX8 effect example program source-code
  FXTEST.RC     DX8 effect example program resource file
  SYNTH.EXE     BASS simple synth program
  SYNTH.C       Simple synth program source-code
  WRITEWAV.EXE  WAVE writer example
  WRITEWAV.C    WAVE writer example source-code
  NETRADIO.EXE  Internet streaming example program
  NETRADIO.C    Internet streaming example source-code
  NETRADIO.RC   Internet streaming example resource file
  SPECTRUM.EXE  Spectrum analyser example program
  SPECTRUM.C    Spectrum analyser example source-code
  LIVESPEC.EXE  "Live" version of spectrum analyser example program
  LIVESPEC.C    "Live" version of spectrum analyser example source-code
  RECTEST.EXE   Recording example program
  RECTEST.C     Recording example program source-cods
  RECTEST.RC    Recording example program resource file
  LIVEFX.EXE    Full-duplex example program
  LIVEFX.C      Full-duplex example program source-code
  LIVEFX.RC     Full-duplex example program resource file
  SPEAKERS.EXE  Multi-speaker example
  SPEAKERS.C    Multi-speaker example source-code
  SPEAKERS.RC   Multi-speaker example resource file
VB\           Visual Basic API and samples...
  BASS.BAS      BASS Visual Basic module file
  BASSTEST\     BASS example
    PRJBASSTEST.VBP  Project file
    FRMBASSTEST.FRM  Main form
  3DTEST\       3D example
    PRJ3DTEST.VBP  Project file
    PRJ3DTEST.FRM  Main form
    PRJ3DTEST.FRX
    PRJDEVICE.FRM  Device selector form
    PRJDEVICE.FRX
  DSPTEST\      DSP example
    PRJDSPTEST.VBP  Project file
    FRMDSPTEST.FRM  Main form
    FRMDSPTEST.FRX
    MODDSPTEST.BAS
  FXTEST\       DX8 effect example
    PRJFXTEST.VBP  Project file
    FRMFXTEST.FRM  Main form
  WRITEWAV\     WAVE writer example
    PRJWRITEWAVE.VBP  Project file
    PRJWRITEWAVE.FRM  Main form
    PRJWRITEWAVE.FRX
  SPECTRUM\     Spectrum analyser example
    PRJSPECTRUM.VBP  Project file
    FRMSPECTRUM.FRM  Main form
    MODSPECTRUM.BAS
    FRMSPECTRUM.FRX
  LIVESPEC\     "Live" version of spectrum analyser example
    PRJLIVESPEC.VBP  Project file
    FRMLIVESPEC.FRM  Main form
    MODLIVESPEC.BAS
    FRMLIVESPEC.FRX
  NETRADIO\     Internet streaming example
    PRJNETRADIO.VBP  Project file
    FRMNETRADIO.FRM  Main form
    FRMNETRADIO.FRX
    MODNETRADIO.BAS
    CLSFILEIO.CLS
  RECTEST\      Recording example
    PRJRECTEST.VBP  Project file
    FRMRECTEST.FRM  Main form
    FRMRECTEST.FRX
    MODRECTEST.BAS
  SPEAKERS\     Multi-speaker example
    PRJSPEAKERS.VBP  Project file
    FRMSPEAKERS.FRM  Main form
    FRMSPEAKERS.FRX
  MULTI\        Multiple device example
    PRJMULTI.VBP   Project file
    PRJMULTI.FRM   Main form
    PRJMULTI.FRX
    PRJDEVICE.FRM  Device selector form
    PRJDEVICE.FRX
  MEMORY\       Playing from memory example by Jobnik
    PRJMEMORY.VBP  Project file
    FRMMEMORY.FRM  Main form
    FRMMEMORY.FRX
    SYNCTEST.BAS
    CBASS_TIME.CLS
DELPHI\       Delphi API and samples...
  BASS.PAS      BASS Delphi unit
  BASSTEST\     BASS example
    BASSTEST.DPR  Project file
    BASSTEST.DOF  Project options file
    BTMAIN.PAS    Main unit
    BTMAIN.DFM    Main form
  3DTEST\       BASS 3D/EAX example
    D3TEST.DPR    Project file
    D3TEST.DOF    Project options file
    DTMAIN.PAS    Main unit
    DTMAIN.DFM    Main form
    DTSELECT.PAS  Device selector unit
    DTSELECT.DFM  Device selector form
  CONTEST\      BASS console example
    CONTEST.DPR   Project file
    CONTEST.DOF   Project options file
  DSPTEST\      DSP example
    DSPTEST.DPR   Project file
    DSPTEST.DOF   Project options file
    DTMAIN.PAS    Main unit
    DTMAIN.DFM    Main form
  FXTEST\       DX8 effect example
    FXTEST.DPR    Project file
    FXTEST.DOF    Project options file
    TEST.PAS      Main unit
    TEST.DFM      Main form
  STREAMTEST\   BASS stream example
    STREAMTEST.DPR  Project file
    STREAMTEST.DOF  Project options file
    STMAIN.PAS    Main unit
    STMAIN.DFM    Main form
  WRITEWAV\     WAVE writer example
    WRITEWAV.DPR  Project file
    WRITEWAV.DOF  Project options file
    UNITMAIN.PAS  Main unit
    UNITMAIN.DFM  Main form
  SPEAKERS\     Multi-speaker example
    SPEAKERS.DPR  Project file
    SPEAKERS.DOF  Project options file
    UNIT1.PAS     Main unit
    UNIT1.DFM     Main form
  MULTI\        Multiple device example
    MULTI.DPR     Project file
    MULTI.DOF     Project options file
    UNIT1.PAS     Main unit
    UNIT1.DFM     Main form
    UNIT2.PAS     Device selector unit
    UNIT2.DFM     Device selector form
  SAMPLEVIS\    Visualisation example
    SAMPLEVIS.DPR  Project file
    SAMPLEVIS.DOF  Project options file
    MAIN.PAS       Main unit
    MAIN.DFM       Main form
    SPECTRUM_VIS.PAS
    CIRCLE_VIS.PAS
    OSC_VIS.PAS
    COMMONTYPES.PAS
  RECORDTEST\   Recording example
    RECORDTEST.DPR  Project file
    RECORDTEST.DOF  Project options file
    UNIT1.PAS       Main unit
    UNIT1.DFM       Main form
  DYNAMIC\      Dynamic-loading Delphi API
    DYNAMIC_BASS.PAS  Dynamic-loading Delphi unit
MASM\         MASM API and samples...
  BASS.INC      BASS MASM include file
  PLAYER.EXE    Example MOD player
  PLAYER.ASM    Example MOD player source-code
  RSRC.RC       Example MOD player resource file
  TOOLBAR.BMP   Example MOD player toolbar bitmap
  COMPILE.BAT   Example MOD player compilation script


NOTE: The ZIP should be decompressed with the directory stucture maintained.

NOTE: To run the sample EXEs, first you'll have to copy BASS.DLL into
      the same directory as the EXEs.


What's the point?
=================
BASS is an audio library for use in Win32 (9x/ME/2K/XP) software. It's
purpose is to provide the most powerful and efficient (yet easy to use),
sample, stream, MOD music, and recording functions. All in a tiny DLL,
under 100KB in size.

See the documentation for descriptions of all the BASS functions. You
will need to have Internet Explorer installed to view the documentation.
You should also see the included example program source-codes for some
examples of how to use BASS in your own programs.


Requirements
============
BASS requires DirectX 3 or above. BASS does not require that a soundcard
with DirectSound/DirectSound3D hardware accelerated drivers is installed,
but it does improve performance if there is one. BASS also takes advantage
of MMX, which improves the performance of the MOD music playback.


Main Features
=============
* WAV/MP3/MP2/MP1/OGG samples
- supports mono/stereo 8/16 bit samples (including compressed WAVs)

* Custom samples
- generate or load custom samples

* Sample streams
- stream any sample data in 8/16/32 bit

* File streams
- MP3/MP2/MP1/OGG and WAV (including compressed) file streaming

* Internet file streaming
- stream MP3/MP2/MP1/OGG (inc. Shout/Icecast) and WAV files from the internet

* User file streaming
- stream MP3/MP2/MP1/OGG/WAV files from anywhere using any delivery method

* Multi-channel streaming
- support for more than plain stereo, including multi-channel OGG/WAV files

* MOD music
- uses the same engine as XMPlay = best accuracy, speed and quality

* MO3 music
- MP3/OGG compressed MOD music

* Add-on system
- support for other formats is available via add-ons (aka plugins)

* Multiple outputs
- simultaneously use multiple soundcards

* Recording
- very flexible recording system, with support for multiple devices

* Decode without playback
- streams and musics can be outputted in any way you want

* Speaker assignment
- assign streams and musics to specific speakers

* High precision synchronization
- synchronize events in your software to the music

* DirectX 8 effects
- chorus/compressor/distortion/echo/flanger/gargle/parameq/reverb

* User defined DSP functions
- custom effects may be applied to musics and streams

* 32 bit floating-point decoding and processing
- floating-point stream/music decoding, DSP, FX, and recording

* 3D sound
- play samples/streams/musics in any 3D position, with EAX support

* Expandable 
- underlying DirectSound object interfaces are accessable 

* Small
- BASS is under 100KB, so won't bloat your distribution

* Free!
- you may freely use BASS in your freeware games/demos/etc...


Using BASS
==========
C/C++, Visual Basic, Delphi and MASM APIs are provided, to use BASS with
another language you'll first have to convert the header file. Or, as a
last resort, you could use LoadLibrary and GetProcAddress.

One benefit of the LoadLibrary method is that it allows you to look for
the correct BASS version, because you can load and unload BASS.DLL at
any time. This also allows those who'ld prefer not to have a seperate
DLL to store it with the program (eg. in a resource), write it to disk,
load it, use it, free it and delete it.

The major downside, is that you have to manually import each function
that you use, using the GetProcAddress function. But it has been made
a lot simpler to import BASS this way by the use of the BASSDEF #define.
Here's a small example:

#define BASSDEF(f) (WINAPI *f) // define the functions as pointers
#include "bass.h"
...
HINSTANCE bass=LoadLibrary("BASS.DLL"); // load BASS
BASS_Init=GetProcAddress(bass,"BASS_Init"); // get BASS_Init
BASS_Init(1,44100,0,hWnd,NULL); // call BASS_Init

See the LOADNGET.C file for a more complete example.

There is no guarantee that all future BASS versions will be compatible
with all previous versions, so your program should use BASS_GetVersion
to check the version that is loaded. This also means that you should
put BASS.DLL in the same directory as your program (not just somewhere
in the path), to avoid the possibility of a wrong version being loaded.

If you are updating your software from a previous BASS version, then
you should check the "History" section (below), to see which (if any)
of the functions that you are using have been affected by a change.

To use BASS with Borland C++ Builder, you'll first have to create a
Borland C++ Builder import library for it. This is done by using the
IMPLIB tool that comes with Borland C++ Builder. Simply execute this:

	IMPLIB BASSBCB.LIB BASS.DLL

... and then use BASSBCB.LIB in your projects to import BASS.

For the BASS functions that return strings (char*), VB users should use
the VBStrFromAnsiPtr function to convert the returned pointer into a VB
string.


Latest Version
==============
The latest version of BASS can always be found at the BASS website:

        http://www.un4seen.com/


Copyright, Disclaimer, and all that other jazz
==============================================
The BASS library is free for non-money making use... if you are
not charging for the software, then you can use BASS in it for
free (a mention in the credits would be nice though!). If you
wish to use BASS in shareware or commercial products, then see
the next section.

This software is provided "as is", without warranty of ANY KIND,
either expressed or implied, including but not limited to the
implied warranties of merchantability and/or fitness for a
particular purpose. The author shall NOT be held liable for
ANY damage to you, your computer, or to anyone or anything else,
that may result from its use, or misuse. Basically, you use it
at YOUR OWN RISK.

Usage of BASS indicates that you agree to the above conditions.

You may freely distribute the BASS package as long as NO FEE is
charged and all the files remain INTACT AND UNMODIFIED.

All trademarks and other registered names contained in the BASS
package are the property of their respective owners.


BASS in shareware and commercial software?
==========================================
BASS is available for use in your shareware and commercial software.
The license types available are as follows:

SHAREWARE: Allows the usage of BASS in an unlimited number of your
shareware products.

SINGLE COMMERCIAL: Allows the usage of BASS in a single commercial
product.

UNLIMITED COMMERCIAL: Allows the usage of BASS in an unlimited number
of your commercial products. This license is on a per site basis. So
if your company has two sites and both use BASS, then two licenses are
required.

If you're an individual selling your own software, then the SHAREWARE
license is the one for you. If you're a commercial entity (or your
software is published/sold by one), then a COMMERCIAL license is
required.

In all cases there are no royalties to pay, and you can use all future
BASS updates without further cost. One license covers one person or
entity and is not transferable.

These licenses do not allow reselling of BASS, ie. as part of another
development library. If none of these licenses match your requirements,
or if you have any questions about using BASS in shareware/commercial
software, then please get in touch (email: bass@un4seen.com).

Visit the BASS website for the latest pricing:

        http://www.un4seen.com/


History
=======
These are the major (and not so major) changes at each version
stage. There are ofcourse bug fixes and other little improvements
made along the way too! To make upgrading simpler, all functions
affected by a change to the BASS interface are listed.

2.0 - 31/10/2003
----------------
* Multiple output device support
	BASS_Init (device number changes)
	BASS_SetDevice
	BASS_GetDevice
	BASS_ChannelGetDevice
	MULTI example updated
	VB version of MULTI example added
* Multiple recording device support
	BASS_RecordSetDevice
	BASS_RecordGetDevice
	BASS_RecordStart
	BASS_ChannelGetDevice
	HRECORD handle
	RECORDPROC (handle parameter)
* Recording with DSP/FX
	BASS_ChannelSetDSP
	BASS_ChannelSetFX
* Recording position retrieval
	BASS_ChannelGetPosition
* Start recording paused
	BASS_RECORD_PAUSE (BASS_RecordStart flag)
* Multi-channel streams, inc. support for multichannel OGG & WAV files
	BASS_StreamCreate
	BASS_StreamCreateFile/User/Url
* FFT for individual channels, inc. multi-channel streams
	BASS_DATA_FFT_INDIVIDUAL (BASS_ChannelGetData flag)
	BASS_DATA_FFT512S/1024S/2048S/4096S *removed*
* DSP prioritizing
	BASS_ChannelSetDSP
	DSPTEST example updated
* Seeking in internet streamed files
	BASS_ChannelSetPosition
* Enhanced custom file stream systems
	BASS_StreamCreateFileUser
	BASS_FILE_SEEK (STREAMFILEPROC action)
	BASS_STREAM_FILEPROC flag *removed*
* Enhanced custom stream system with automatic stalling/resuming
	STREAMPROC
	BASS_STREAMPROC_END (STREAMPROC flag)
* Synchronizer for stalled/resumed playback 
	BASS_SYNC_STALL (BASS_ChannelSetSync type)
* Synchronizer for completed download
	BASS_SYNC_DOWNLOAD (BASS_ChannelSetSync type)
* End sync support for custom streams
	BASS_SYNC_END (BASS_ChannelSetSync type)
* Synchronizer support for decoding channels
	BASS_ChannelSetSync
* Unified configuration function
	BASS_SetConfig
	BASS_GetConfig
	BASS_SetBufferLength *removed*
	BASS_SetNetConfig *removed*
	BASS_SetGlobalVolumes *removed*
	BASS_GetGlobalVolumes *removed*
	BASS_SetLogCurves *removed*
	BASS_Set3DAlgorithm *removed*
	BASS_DEVICE_FLOATDSP flag *removed*
* Internet stream saving to disk replaced by more flexible callback
	BASS_StreamCreateURL
	DOWNLOADPROC
	VB NETRADIO example updated
* Buffer length retrieval when "streaming in blocks"
	BASS_StreamGetFilePosition (BASS_FILEPOS_END)
* Individual sample rate setting for MOD musics
	BASS_MusicLoad
* Channel type and default sample rate retrieval
	BASS_ChannelGetInfo (replaces BASS_ChannelGetFlags)
	BASS_CHANNELINFO
* MOD music flag retrieval
	BASS_CHANNELINFO (flags member)
* Adjustable instrument volumes in MOD musics
	BASS_MusicSetVolume (replaces BASS_MusicSetChannelVol)
	BASS_MusicGetVolume (replaces BASS_MusicGetChannelVol)
* Automatically free a MOD music when it stops or ends
	BASS_MUSIC_AUTOFREE (BASS_MusicLoad flag)
* Class GUID added to initialization parameters
	BASS_Init
	BASS_SetCLSID *removed*
* Update period adjustable at any time
	BASS_CONFIG_UPDATEPERIOD (BASS_SetConfig flag)
	BASS_DEVICE_NOTHREAD flag *removed*
* Customizable maximum volume setting
	BASS_CONFIG_MAXVOL (BASS_SetConfig flag)
	BASS_DEVICE_VOL1000 flag *removed*
* Device volume is now always left as it is during init/freeing
	BASS_DEVICE_LEAVEVOL flag *removed*
* Device driver name retrieval
	BASS_INFO (driver member)
	BASS_RECORDINFO (driver member)
* Error codes are local to the current thread
	BASS_ErrorGetCode
* Performance improvements
	MP2 decoding 15-20% faster
	MP3 decoding ~5% faster
* Built-in CD functions removed (replaced in BASSCD)
	BASS_CDDoor *removed*
	BASS_CDFree *removed*
	BASS_CDGetID *removed*
	BASS_CDGetTrackLength *removed*
	BASS_CDGetTracks *removed*
	BASS_CDInDrive *removed*
	BASS_CDInit *removed*
	BASS_CDPlay *removed*
* Force channels to use software mixing
	BASS_SAMPLE_SOFTWARE (BASS_StreamCreate/File/User/URL & BASS_MusicLoad flag)
* Support for high-pass filter and forward/reverse (S9E/F) IT/MPT effects
* BASS_MUSIC flags rearranged to mirror BASS_SAMPLE/STREAM counterparts
* Output automatically started during initilization
* BASS_ChannelGetData once again accepts any "length" param
* All function comments have been removed from the API headers to avoid
  outdated/incorrect information - the BASS.CHM documentation should be used.
* TMT Pascal API removed from main distribution - now available on the website
* A few more 'K' knocked off the DLL size :)

1.8a - 18/6/2003
----------------
* Tweaks 'n' fixes, including...
	Fixed seeking bug on 32-bit OGG streams
	Fixed seeking on a decoding channel after it has reached the end
	Low FPU precision (eg. when using Direct3D) issue addressed
	Improved speakers (BASS_INFO) detection
	BASS_ChannelSeconds2Bytes return value is rounded down to nearest sample
	BASS_ChannelGetData "length" param must equal a whole number of samples
	Slide syncs are triggered by "-2" volume slides on "autofree" streams
* Support for UNICODE filenames
	BASS_UNICODE (BASS_SampleLoad/BASS_StreamCreateFile/BASS_MusicLoad flag)
* 4096 sample FFT
	BASS_DATA_FFT4096/S (BASS_ChannelGetData flags)
* Another 'K' knocked off the DLL size

1.8 - 9/3/2003
--------------
* 32-bit floating-point channels
	BASS_SAMPLE_FLOAT (BASS_StreamCreate/URL/File flag)
	BASS_MUSIC_FLOAT (BASS_MusicLoad flag)
	BASS_SAMPLE_FLOAT (BASS_RecordStart flag)
	BASS_DEVICE_FLOATDSP (BASS_Init flag)
	DSPTEST example updated
* Support for 32-bit floating-point (type 3) WAV files
	BASS_StreamCreateFile/URL
	BASS_SampleLoad
* Channel speaker assignment
	BASS_SPEAKER_FRONT (BASS_MusicLoad/BASS_StreamCreate/File/URL flag)
	BASS_SPEAKER_REAR                       "
	BASS_SPEAKER_CENLFE                     "
	BASS_SPEAKER_REAR2                      "
	BASS_SPEAKER_FRONTLEFT                  "
	BASS_SPEAKER_FRONTRIGHT                 "
	BASS_SPEAKER_REARLEFT                   "
	BASS_SPEAKER_REARRIGHT                  "
	BASS_SPEAKER_CENTER                     "
	BASS_SPEAKER_LFE                        "
	BASS_SPEAKER_REAR2LEFT                  "
	BASS_SPEAKER_REAR2RIGHT                 "
	BASS_INFO (speakers member)
	BASS_DEVICE_SPEAKERS (BASS_Init flag)
	4SPEAKER example replaced by SPEAKERS example
* Recording input type retrieval
	BASS_INPUT_TYPE_xxx (BASS_RecordGetInput)
	RECTEST example updated
* Non-interpolated MOD mixing
	BASS_MUSIC_NONINTER (BASS_MusicLoad/PlayEx flag)
* Performance improvements
	FFT up to 100% faster!
	MP3(MPEG2/2.5) decoding up to 60% faster
	MMX mixers 5-10% faster
	MP3(MPEG1)/MP2/MP1/OGG decoding all ~5% faster
* Optional disabling of FFT windowing
	BASS_DATA_FFT_NOWINDOW (BASS_ChannelGetData flag)
* BASS_ERROR_FILEFORM - error code to distinguish between file and sample format
	BASS_MusicLoad
	BASS_SampleLoad
	BASS_StreamCreate/File/URL
* BASS_StreamGetFilePosition mode flags added
	BASS_FILEPOS_DECODE/DOWNLOAD/END
* DirectX 9 detection
	BASS_INFO (dsver member)
* Initialization flags retrieval
	BASS_INFO (initflags member)
* Half-rate MP3 playback option removed
	BASS_MP3_HALFRATE flag *removed*
* New internal "plugin" system - BASSWMA is further integrated as a result
* Improved documentation - integrated with BASSWMA, search option added
* VB version of DSPTEST example added
* Delphi RECORDTEST example added
* Guess what... reduced DLL size again :)

1.7 - 27/10/2002
----------------
* New alternative DX8 (DMO) effects implementation
	BASS_StreamCreate/File/URL
	BASS_MusicLoad
	BASS_ChannelSetFX
	SYNTH example updated
* User file streaming
	BASS_STREAM_FILEPROC (BASS_StreamCreate flag)
	STREAMFILEPROC
* DSP & FX support for decoding channels
	BASS_ChannelSetDSP
	BASS_ChannelSetFX
* Support for DX8 (DMO) effects in IT/XM/MO3 files
	BASS_MusicLoad
* Support for chained OGG streaming (and syncing)
	BASS_StreamCreateURL
	BASS_ChannelSetSync (BASS_SYNC_META)
* Attribute (volume/frequency/pan) sliding
	BASS_ChannelSlideAttributes
	BASS_ChannelIsSliding
	BASS_SYNC_SLIDE (BASS_ChannelSetSync type)
* Recording without a callback function
	BASS_RecordStart
	LIVEFX example added
* Query a channel's buffered data
	BASS_DATA_AVAILABLE (BASS_ChannelGetData flag)
* Discard data from the recording buffer
	BASS_ChannelGetData
* Adjustable internet stream config (timeout/buffer lengths)
	BASS_SetNetConfig
* Recommended minimum buffer length
	BASS_INFO (minbuf member)
* MOD music flags adjustment without changing playback position
	BASS_MusicPlayEx
	PLAYER (MASM) example updated
* More functions are now useable in MOD music "mixtime" syncs
	SYNCPROC
	BASS_ChannelSetPosition
	BASS_MusicPlayEx
	BASS_MusicSetAmplify
	BASS_MusicSetPanSep
* Maximum buffer length increased to 5 seconds
	BASS_SetBufferLength
* Support for extended filter range in IT files
	BASS_MusicLoad
* Speedier MOD music file verification
	BASS_MusicLoad
* Delphi 3DTEST example fixed
* Magically reduced DLL size again :)

1.6a - 25/8/2002
----------------
* OGG support updated to 1.0
* Stereo FFT
	BASS_DATA_FFT512S/1024S/2048S (BASS_ChannelGetData flags)
* Support for "Invert Loop" (EFx) MOD effect
* Reduced DLL size
* New Delphi examples
	WRITEWAV - WAVE writer example
	SAMPLEVIS - Visualisation example

1.6 - 13/6/2002
---------------
* 64-bit stream lengths and positions
	BASS_StreamGetLength
	BASS_ChannelBytes2Seconds
	BASS_ChannelSeconds2Bytes
	BASS_ChannelGetPosition
	BASS_ChannelSetPosition
	BASS_ChannelSetSync
* Recording input selection
	BASS_RECORDINFO (inputs & singlein members)
	BASS_RecordGetInputName
	BASS_RecordGetInput
	BASS_RecordSetInput
* Adjustable recording update period
	BASS_RecordStart
* Load OGG files as samples
	BASS_SampleLoad
* CD drive door opening & closing
	BASS_CDDoor
* CDDB2 ID retrieval
	BASS_CDID_CDDB2 (BASS_CDGetID flag)
* Streaming beyond initial file length
	BASS_StreamCreateFile
* Recording position bytes<->seconds translation
	BASS_ChannelBytes2Seconds
	BASS_ChannelSeconds2Bytes
* Improved multi-threaded support (play from any thread)
	BASS_MusicPlay/Ex
	BASS_SamplePlay/3D/Ex
	BASS_StreamPlay
	BASS_DEVICE_NOSYNC flag *removed*
* Paused channel status
	BASS_ACTIVE_PAUSED (BASS_ChannelIsActive)
* Integrated WMA stream freeing
	BASS_StreamFree
	BASS_Free
* Pin-point accurate OGG seeking without BASS_MP3_SETPOS flag
* Win2k DS buffer bug fix

1.5a - 14/4/2002
----------------
* NT4 fix (also enables "nosound" device without DX installed)
	BASS_ERROR_DX error code
* MOD music loading without the samples
	BASS_MUSIC_NOSAMPLE (BASS_MusicLoad flag)
* Custom decoding channels
	BASS_STREAM_DECODE (BASS_StreamCreate flag)
* 5 second HTTP connection timeout
	BASS_ERROR_TIMEOUT (BASS_StreamCreateURL error code)

1.5 - 31/3/2002
---------------
* Improved performance
	MMX mixers lot faster (over 50% faster in some cases!)
	OGG decoding 15-20% faster
	MP3 decoding 5-10% faster
* Recording
	BASS_RecordGetDeviceDescription
	BASS_RecordInit
	BASS_RecordFree
	BASS_RecordGetInfo
	BASS_RecordStart
* OGG support built-in (OGG/VORBIS DLLs not required)
	BASS_DEVICE_OGG flag *removed*
* MOD music seeking in seconds
	BASS_MusicPlayEx
	BASS_ChannelSetPosition
* Shoutcast metadata retrieval
	BASS_STREAM_META (BASS_StreamCreateURL flag)
	BASS_TAG_META (BASS_StreamGetTags flag)
	BASS_SYNC_META (BASS_ChannelSetSync type)
* 1000 volume levels
	BASS_DEVICE_VOL1000 (BASS_Init/CDInit flag)
* CDDB ID retrieval
	BASS_CDID_CDDB (BASS_CDGetID flag)
* Leave the CD volume as it is during init/closing
	BASS_DEVICE_LEAVEVOL (BASS_CDInit flag)
* FFT enabled on decoding channels
	BASS_ChannelGetData
* Left level duplicated on right for mono channels
	BASS_ChannelGetLevel
* Improved MPEG length estimation without BASS_MP3_SETPOS flag
	BASS_StreamGetLength
* Support for Modplug/ADPCM compressed files
	BASS_MusicLoad
* Device description function parameter change
	BASS_GetDeviceDescription
* MASM API

1.4 - 30/1/2002
---------------
* Channel decoding without playback
	BASS_MUSIC_DECODE (BASS_MusicLoad flag)
	BASS_STREAM_DECODE (BASS_StreamCreateFile/URL flag)
	BASS_ChannelGetData
* Windows message sync callbacks
	BASS_SYNC_MESSAGE (BASS_ChannelSetSync flag)
* Adjustable channel volumes in MOD musics
	BASS_MusicSetChannelVol
	BASS_MusicGetChannelVol
* Customizable DirectSound initialization object
	BASS_SetCLSID
* Retrieve HMUSIC/HSTREAM/HCHANNEL IDirectSoundBuffer interfaces
	BASS_GetDSoundObject
* A3D functions removed (use BASS_SetCLSID/BASS_GetDSoundObject to access A3D)
	BASS_DEVICE_A3D (BASS_Init flag)
	BASS_SetA3DResManager
	BASS_GetA3DResManager
	BASS_SetA3DHFAbsorbtion
	BASS_GetA3DHFAbsorbtion
* Callback functions now work in VB6
	DSPPROC
	STREAMPROC
	SYNCPROC
* Improved PCM WAVE streaming performance
	BASS_StreamCreateFile
	BASS_StreamCreateURL
* OGG modules updated to RC3
* Stereo sample support in MO3 format
* MO3 encoder now distributed separately from BASS

1.3 - 17/11/2001
----------------
* Manual buffer updating
	BASS_DEVICE_NOTHREAD (BASS_Init flag)
	BASS_Update
* Adjustable buffer update period (allows small buffer sizes)
	BASS_Init
* Output device latency retrieval
	BASS_INFO (latency member)
* MPEG/OGG seeking without BASS_MP3_SETPOS flag
	BASS_ChannelSetPosition
* Internet file streaming from offsets
	BASS_StreamCreateURL
* File stream tag/comment retrieval (ID3/ID3v2/OGG/HTTP/ICY tags)
	BASS_StreamGetTags
* Byte<->time position translation
	BASS_ChannelBytes2Seconds
	BASS_ChannelSeconds2Bytes
* UMX (Unreal/Tournament music package) format support
	BASS_MusicLoad
* S3M/IT sync fx changed to S2x (S0x conflicted with S00)
	BASS_SYNC_MUSICFX
* Stereo sample suport in IT/XM/S3M formats
* MO3: OGG compression supported

1.2 - 25/9/2001
---------------
* OGG (Ogg Vorbis) stream support
	BASS_DEVICE_OGG (BASS_Init flag)
	BASS_StreamCreateFile
	BASS_StreamCreateURL
* Channel linking (start/stop/pause/resume channels together)
	BASS_ChannelSetLink
	BASS_ChannelRemoveLink
* MOD music playback length calculation
	BASS_MUSIC_CALCLEN (BASS_MusicLoad flag)
	BASS_MusicGetLength
* Pre-buffering
	BASS_MusicPreBuf
	BASS_StreamPreBuf
* Samples with single simultaneous playbacks have same HSAMPLE/HCHANNEL handle
	BASS_SamplePlay/Ex
* Stopping a custom stream flushes it's buffer contents
	BASS_ChannelStop

1.1a - 31/8/2001
----------------
* NT4 bug fixed
* XM Wxx effect syncing
	BASS_SYNC_MUSICFX
* MP3/2/1 rewinding without BASS_MP3_SETPOS
	BASS_ChannelSetPosition

1.1 - 11/8/2001
---------------
* DX8 (DMO) effects
	BASS_SAMPLE_FX (BASS_StreamCreate/File/URL flag)
	BASS_MUSIC_FX (BASS_MusicLoad flag)
	BASS_ChannelSetFX
	BASS_ChannelRemoveFX
	BASS_FXSetParameters
	BASS_FXGetParameters
	BASS_FXCHORUS structure
	BASS_FXCOMPRESSOR structure
	BASS_FXDISTORTION structure
	BASS_FXECHO structure
	BASS_FXFLANGER structure
	BASS_FXGARGLE structure
	BASS_FXI3DL2REVERB structure
	BASS_FXPARAMEQ structure
	BASS_FXREVERB structure
* Internet file streaming in blocks (inc. Shoutcast/Icecast stream support)
	BASS_STREAM_BLOCK (BASS_StreamCreateURL flag)
* 512/1024/2048 sample FFT
	BASS_DATA_FFT512/1024/2048 (BASS_ChannelGetData flags)
* CD identification
	BASS_CDGetID
* Improved DX version detection
	BASS_INFO (dsver member)

1.0 - 20/6/2001
---------------
* Load MP3/MP2/MP1 files as samples
	BASS_SampleLoad
* Internet file streaming from FTP servers
	BASS_StreamCreateURL
* Save a local copy of internet file streams
	BASS_StreamCreateURL
* Sample accurate file stream seeking
	BASS_ChannelSetPosition
	BASS_StreamGetBlockLength *removed*
* Stream position synchronizer
	BASS_SYNC_POS
* Increased synchronizer precision
* Improved MPEG file detection and error detection
* Stop MOD musics on a backwards jump effect
	BASS_MUSIC_STOPBACK (BASS_MusicLoad/PlayEx flag)
* Leave the volume as it is during closing (as well as initialization)
	BASS_DEVICE_LEAVEVOL (BASS_Init flag)
* Optional automatic use of foreground window handle during initialization
	BASS_Init
* Reduced DLL size
* VB API fixes

0.9 - 18/4/2001
---------------
* Internet file streaming
	BASS_StreamCreateURL
* MP1 & MP2 (MPEG layer 1 & 2) support
	BASS_StreamCreateFile/URL
* MPEG 2.5 support (12000/11025/8000hz sample rates)
	BASS_StreamCreateFile/URL
* Decoding/download/end file stream position retrieval
	BASS_StreamGetFilePosition
* XMPlay surround sound for MOD musics
	BASS_MUSIC_SURROUND (BASS_MusicLoad/PlayEx flag)
	BASS_MUSIC_SURROUND2 (BASS_MusicLoad/PlayEx flag)
* Restrict the download rate of internet file streams
	BASS_STREAM_RESTRATE (BASS_StreamCreateURL flag)
* Check if an internet file stream is stalled
	BASS_ChannelIsActive
* Automatically free a stream when it stops or ends
	BASS_STREAM_AUTOFREE (BASS_StreamCreate/File/URL flag)
* Leave the volume as it is during initialization
	BASS_DEVICE_LEAVEVOL (BASS_Init flag)
* Number of CD tracks retrieval
	BASS_CDGetTracks
* CD track length retrieval
	BASS_CDGetTrackLength
* Exact stream length set after whole file is streamed
	BASS_StreamGetLength
* TMT Pascal API and samples
* Dynamic-loading Delphi API

0.8a - 28/2/2000
----------------
* Updated Delphi API and samples

0.8 - 24/1/2000
---------------
* Improved MP3 performance on P2/K6 and above CPUs - fast!
* User DSP functions on streams and MOD musics
	BASS_ChannelSetDSP
	BASS_ChannelRemoveDSP
* DX7 voice allocation & management
	BASS_SAMPLE_VAM (BASS_SampleLoad/Create flag)
	BASS_VAM_xxx flags
	BASS_SAMPLE (vam & priority members)
* DX7 software 3D algorithm selection
	BASS_Set3DAlgorithm
* DirectSound interface retrieval
	BASS_GetDSoundObject
* Log/linear volume & panning curves
	BASS_SetLogCurves
* User data passed to callback functions
	STREAMPROC - BASS_StreamCreate
	SYNCPROC - BASS_ChannelSetSync
* New synchronizer
	BASS_SYNC_MUSICFX
* New synchronizer flag
	BASS_SYNC_MIXTIME
* Disable synchronizers option - saves a little CPU time
	BASS_DEVICE_NOSYNC (BASS_Init flag)
* Hi-res floating-point CPU usage monitoring
	BASS_GetCPU
* Wait for playback to start when playing a CD
	BASS_CDPlay
* DirectSound (dsound.dll) version retrieval
	BASS_INFO (dsver member)
* Removed volume sliding functions (they were fairly pointless)
	BASS_SlideVolume
	BASS_IsSliding
* MO3: read/write encoder settings
* MO3: remove inst/samp/message texts now optional
* MO3: LAME encoder settings

0.7 - 3/10/1999
---------------
* MO3 (MP3 compressed MODs)
* A3D functions
	BASS_DEVICE_A3D (BASS_Init flag)
	BASS_INFO (a3d member)
	BASS_SetA3DResManager
	BASS_GetA3DResManager
	BASS_SetA3DHFAbsorbtion
	BASS_GetA3DHFAbsorbtion
* Music/stream immediate sample data retrieval
	BASS_ChannelGetData
* File stream (WAV/MP3) length retrieval
	BASS_StreamGetLength
	BASS_StreamGetBlockLength
* File stream seeking
	BASS_ChannelSetPosition
* Mono MP3 option (lower CPU usage)
	BASS_StreamCreateFile
* Music length retrieval
	BASS_MusicGetLength
* Music name retrieval
	BASS_MusicGetName
* Stop notes when moving MOD music position
	BASS_MUSIC_POSRESET (BASS_MusicLoad/BASS_MusicPlayEx flag)
* BASS_ERROR_FREQ - invalid sample rate error code
	BASS_SampleCreate
	BASS_SamplePlayEx
	BASS_SamplePlay3DEx
	BASS_StreamCreate
	BASS_ChannelSetAttributes
* Delphi and VB APIs

0.6a - 26/7/1999
----------------
* Half rate MP3 option (lower CPU usage)
	BASS_MP3_HALFRATE
* Loading/streaming from file offsets
	BASS_MusicLoad
	BASS_SampleLoad
	BASS_StreamCreateFile
* Global music/sample/stream volume levels
	BASS_SetGlobalVolumes
	BASS_GetGlobalVolumes
* Other new function
	BASS_SampleStop
* New synchronizer
	BASS_SYNC_END
* New sample overrider
	BASS_SAMPLE_OVER_DIST
* LoadLibrary/GetProcAddress instructions and example

0.5 - 4/7/1999
--------------
* Documentation!
* File streaming (MP3 and WAV)
	BASS_StreamCreateFile
* Custom generated samples
	BASS_SampleCreate
	BASS_SampleCreateDone
* Other new function
	BASS_MusicSetPositionScaler
* Renamed function
	BASS_ChannelClearSync -> BASS_ChannelRemoveSync
* Alterations made to
	BASS_ChannelGetPosition
	BASS_SampleLoad
	BASS_StreamPlay

0.4 - 30/3/1999
---------------
* Compressed WAV samples support (using audio CODECs)
* Updated CD volume handling - now works with SB Live
* More linear channel volume/pan scales (were slightly off before)
* "no sound" device option
* 3D sound functions
	BASS_Set3DFactors
	BASS_Get3DFactors
	BASS_Set3DPosition
	BASS_Get3DPosition
	BASS_Apply3D
	BASS_SamplePlay3D
	BASS_SamplePlay3DEx
	BASS_ChannelSet3DAttributes
	BASS_ChannelGet3DAttributes
	BASS_ChannelSet3DPosition
	BASS_ChannelGet3DPosition
* EAX functions
	BASS_SetEAXParameters
	BASS_GetEAXParameters
	BASS_ChannelSetEAXMix
	BASS_ChannelGetEAXMix
* Other new functions
	BASS_GetDeviceDescription
	BASS_SetBufferLen
	BASS_ChannelGetFlags
	BASS_ChannelPause
	BASS_ChannelResume
	BASS_ChannelSetPosition
* Replaced function
	BASS_CDResume -> BASS_ChannelResume
* Alterations made to
	BASS_Init
	BASS_CDInit
	BASS_SampleLoad
	BASS_StreamPlay
	BASS_INFO structure
	BASS_SAMPLE structure
	BASS_DEVICE_xxx flags
	BASS_SAMPLE_xxx flags

0.3 - 8/3/1999
--------------
* Synchronization functions
	BASS_ChannelSetSync
	BASS_ChannelClearSync
* Other new functions
	BASS_GetVersion
	BASS_ChannelGetPosition
	BASS_ChannelGetLevel
	BASS_ChannelGetAttributes
	BASS_ChannelSetAttributes
* Replaced functions
	BASS_MusicStop -> BASS_ChannelStop
	BASS_MusicSetVolume -> BASS_ChannelSetAttributes
	BASS_CDStop -> BASS_ChannelStop
	BASS_CDSetVolume -> BASS_ChannelSetAttributes
	BASS_CDGetVolume -> BASS_ChannelGetAttributes
	BASS_ChannelUpdate -> BASS_ChannelSetAttributes
* Alterations made to
	BASS_MusicPlayEx
	BASS_StreamPlay
	BASS_INFO structure

0.2 - 28/2/1999
---------------
* First public release


Credits - API/Sample Contributors
=================================
Visual Basic - Adam Hoult, Hendrik Knaepen, Arthur Aminov,
               Peter Hebels
Delphi - Titus Miloi, Rogier Timmermans, Alessandro Cappellozza,
         Jesse Naranjo
MASM - Octavian Chis


Bug reports, Suggestions, Comments, Enquiries, etc...
=====================================================
If you have any of the aforementioned please see the BASS forum (at
the website). If you can't find an answer there, you can email:

        bass@un4seen.com

